package proyecto3;

import java.util.ArrayList;

/**
 *
 * @author Kathy
 */
public class Bus {

// <editor-fold defaultstate="collapsed" desc="Constructores">
    public Bus(String Descripcion, String Placa, String Modelo, String Estado, String Marca, int Id, int capacidad/*, ArrayList<Fecha> viajes*/) {
        this.Descripcion = Descripcion;
        this.Placa = Placa;
        this.Modelo = Modelo;
        this.Estado = Estado;
        this.Marca = Marca;
        this.Id = Id;
        this.capacidad = capacidad;
        this.viajes = new ArrayList<>();
    }

    public Bus() {
        this.Descripcion = "";
        this.Placa = "";
        this.Modelo = "";
        this.Estado = "";
        this.Marca = "";
        this.Id = 0;
        this.capacidad = 0;
        this.viajes = new ArrayList<>();
    }
    //</editor-fold>

// <editor-fold defaultstate="collapsed" desc="Get/Set">   
    public void setDescripcion(String Descripcion) {
        this.Descripcion = Descripcion;
    }

    public void setPlaca(String Placa) {
        this.Placa = Placa;
    }

    public void setModelo(String Modelo) {
        this.Modelo = Modelo;
    }

    public void setEstado(String Estado) {
        this.Estado = Estado;
    }

    public void setMarca(String Marca) {
        this.Marca = Marca;
    }

    public void setId(int Id) {
        this.Id = Id;
    }

    public void setCapacidad(int capacidad) {
        this.capacidad = capacidad;
    }

    public void setViajes(ArrayList<Carrera> viajes) {
        this.viajes = viajes;
    }

    public String getDescripcion() {
        return Descripcion;
    }

    public String getPlaca() {
        return Placa;
    }

    public String getModelo() {
        return Modelo;
    }

    public String getEstado() {
        return Estado;
    }

    public String getMarca() {
        return Marca;
    }

    public int getId() {
        return Id;
    }

    public int getCapacidad() {
        return capacidad;
    }

    public ArrayList<Carrera> getViajes() {
        return viajes;
    }
    // </editor-fold>

    private boolean comprobarDia(int dia) {
        int cont = 0;
        for (int i = 0; i < viajes.size(); i++) {
            if (viajes.get(i).getDia() == dia) {
                cont++;
            }
        }
        return cont < 2;
    }

    private boolean comprobarHora(int h) {
        for (int i = 0; i < viajes.size(); i++) {
            if (viajes.get(i).getHora() == h) {
                return false;
            }
        }
        return true;
    }

    public boolean comnprobarBus(int d, int h) {
        if (comprobarDia(d) && comprobarHora(h)) {
            return true;
        }
        return false;
    }

    public void agregarViaje(Carrera a) {
        this.viajes.add(a);
    }

    public void eliminarViaje(int d, int h) {
        for (int i = 0; i < viajes.size(); i++) {
            if (viajes.get(i).getDia() == d && viajes.get(i).getHora() == h) {
                viajes.remove(i);
            }
        }
    }

    @Override
    public String toString() {
        String msj = "\t\t Inicio Bus\n";
        msj = msj + "\t\t   Id:" + Id + "\n";
        msj = msj + "\t\t   Descripcion:" + Descripcion + "\n";
        msj = msj + "\t\t   Palca:" + Placa + "\n";
        msj = msj + "\t\t   Modelo:" + Modelo + "\n";
        msj = msj + "\t\t   Estado:" + Estado + "\n";
        msj = msj + "\t\t   Marca:" + Marca + "\n";
        msj = msj + "\t\t  Capacidad:" + capacidad + "\n";
        msj = msj + "\t\t  viajes: \n" + viajes.toString() + "\n";
        msj = msj + "\t\tFin bus\n";
        return msj;
    }

    // <editor-fold defaultstate="collapsed" desc="Atributos">
    private String Descripcion;
    private String Placa;
    private String Modelo;
    private String Estado;
    private String Marca;
    private int Id;
    private int capacidad;
    ArrayList<Carrera> viajes;
    // </editor-fold>

}
